%pylab inline
import matplotlib.pyplot as plt
from scipy.optimize import fsolve
from ipywidgets import *
Lásd még:
phys.org/news (August 10, 2012) RIKEN
What does an object look like when moving at nearly the speed of light?
R. A. Muller, Am. J. Phys. 60, 313 (1992)
Visualisation in special and general relativity
Daniel Weiskopf: Visualization of Four-Dimensional Spacetimes, Thesis
def func(t,param1):
V, om, r, fi = param1 # r in units of R, om in units of om=omega*R/c
tmp= t-V*r*sin(om*t+fi)
return(tmp)
def trafo(t,param):
V, om, r, fi = param # r in units of R, om in units of om=omega*R/c
gamma=1/sqrt(1-V**2)
xv=gamma*(-V+r*sin(om*t+fi))
zv=r*cos(om*t+fi)
return([xv,zv])
def flywheel(r,fi,param):
V, om = param # r in units of R, om in units of om=omega*R/c
param1 = [param[0],param[1],r, fi]
tsol=fsolve(func,0,param1)
# Lorentz-trafo
gamma=1/sqrt(1-V**2)
xv=gamma*(-V*tsol+r*sin(om*tsol[0]+fi))
zv=r*cos(om*tsol[0]+fi)
return([xv,zv])
#param=[V,om,r, fi]
param=[0.7,0.7]
param1=[param[0],param[1],0.27,pi/6]
func(0,param1)
rvec=linspace(0,1,100)
#param=[V,om]
param=[0.7,0.7]
close('all')
#figure(figsize=(12, 12))
# Two subplots, unpack the axes array immediately
fig, (ax1, ax2) = subplots(1, 2,figsize=(16, 8),sharex=True)
ax1.set_title('A bicikli rendszerében',fontsize=16)
ax2.set_title('Laboratóriumi rendszerben',fontsize=16)
ax1.set_aspect('equal')
ax2.set_aspect('equal')
fivec=linspace(0,2*pi,18)
tt=linspace(0,2*pi,100)
ax1.plot(cos(tt),sin(tt),color='k')
for fi in fivec:
ax1.plot([0,cos(fi)],[0,sin(fi)],color='k')
for fi in fivec:
xx=[]
zz=[]
for rr in rvec:
xz=flywheel(rr,fi,param)
xx.append(xz[0])
zz.append(xz[1])
ax2.plot(xx,zz,color='blue')
fivec=linspace(0,2*pi,100)
xxlast=[]
zzlast=[]
for fi in fivec:
xzlast=flywheel(1,fi,param)
xxlast.append(xzlast[0])
zzlast.append(xzlast[1])
ax2.plot(xxlast,zzlast,color='red')
#tight_layout()
ax1.grid();
ax2.grid();